package com.stary.code.springboot.config;
/**
 * maven 配置类
 * @author stary
 * @date 2018年6月29日 上午8:51:35
 */
public class MavenConfig {
	/**
	 * maven工程 src/main/java 目录
	 */
	public final String MAVEN_MAIN_JAVA="/src/main/java";
	/**
	 * maven工程 /src/main/resources 目录
	 */
	public final String MAVEN_MAIN_RESOURCES="/src/main/resources";
	/**
	 * maven工程 /src/test/java 目录
	 */
	public final String MAVEN_TEST_JAVA="/src/test/java";
	/**
	 * maven工程 pom.xml文件路径
	 */
	public final String MAVEN_POM_XML="/";
	/**
	 * maven工程 webapp目录
	 */
	public final String MAVEN_WEBAPP="/src/main/webapp";
	/**
	 * POM文件是遵从4.0.0版本的项目描述符
	 */
	private final String modelVersion="4.0.0";
	/**
	 * 项目的唯一的标识符，对应项目的名称，就是项目根目录的名称
	 */
	private String artifactId="demo";
	/**
	 * 项目组织唯一的标识符，对应JAVA的包的结构，是main目录里java的目录结构
	 */
	private String groupId="com.stary";
	/**
	 * 打包版本号，默认 0.0.1-SNAPSHOT
	 */
	private String version="0.0.1-SNAPSHOT";
	/**
	 *  打包方式，war或jar，默认war
	 */
	private String packaging="war";
	
	/**
	 * 项目名称
	 */
	private String name;
	/**
	 * 项目描述简介
	 */
	private String description="Demo project for Spring Boot";
	public String getArtifactId() {
		return artifactId;
	}
	public void setArtifactId(String artifactId) {
		this.artifactId = artifactId;
	}
	public String getGroupId() {
		return groupId;
	}
	public void setGroupId(String groupId) {
		this.groupId = groupId;
	}
	public String getVersion() {
		return version;
	}
	public void setVersion(String version) {
		this.version = version;
	}
	public String getPackaging() {
		return packaging;
	}
	public void setPackaging(String packaging) {
		this.packaging = packaging;
	}
	public String getName() {
		if("".equals(name) || name==null){
			name=getArtifactId();
		}
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getDescription() {
		return description;
	}
	public void setDescription(String description) {
		this.description = description;
	}
	public String getModelVersion() {
		return modelVersion;
	}
	/**
	 * 获取 artifactId/src/main/java/groupId/artifactId目录
	 * @return
	 */
	public String getMainJavaDir(){
		
		return artifactId + MAVEN_MAIN_JAVA + "/"+ groupId.replace(".", "/") + "/"+artifactId;
	}
	/**
	 * 获取 artifactId/src/main/java/artifactId/目录
	 * @return
	 */
	public String getMyBatisDir(){
		
		return artifactId + MAVEN_MAIN_JAVA +  "/";
	}
	/**
	 * 获取 artifactId/src/main/resources目录
	 * @return
	 */
	public String getMainResourcesDir(){		
		return artifactId+MAVEN_MAIN_RESOURCES;
	}
	/**
	 * 获取 artifactId/src/test/java/groupId/artifactId目录
	 * @return
	 */
	public String getTestJavasDir(){		
		return artifactId + MAVEN_TEST_JAVA+ "/"+ groupId.replace(".", "/") + "/"+ artifactId;
	}
	/**
	 * 获取 artifactId/src/main/webapp目录 jsp
	 * @return
	 */
	public String getWebappDir(){		
		return artifactId + MAVEN_WEBAPP;
	}
}
